//创建路由守卫


import router from '../router/index'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
//前置路由守卫

//处理方法 =》内部页面还外部页面

NProgress.configure({
   easing: 'ease', // 动画方式
   speed: 1000, // 递增进度条的速度
   showSpinner: false, // 是否显示加载ico
   trickleSpeed: 200, // 自动递增间隔
   minimum: 0.3, // 更改启动时使用的最小百分比
   parent: 'body', //指定进度条的父容器
 
})
function isPage(path:any){
     // 1 定义当前项目中所有外部页面
     let listP = ['/','/login']
     //es6 =>
     let index = listP.findIndex((item)=>{
        return item==path
     })

     return index
}

router.beforeEach((to,from,next)=>{  //触发这个处理函数
    // to 去那个组件
    //from 来自那个组件
    //next() =>继续先下执行 =》路由占位符
    NProgress.start()/**请求进度条-开始 */
 
   // (1)我去的页面是内部的页面还是外部的页面   =》（1）通过地址  （2）路由信息

   
     if(isPage(to.fullPath)>-1){ // 外部页面
        next()
     }else{  //内部页面 =》 （1）是否登录

         if(sessionStorage.getItem('token')){
            next()
         }else{ //没有登录
            next('/')
         }

     }
  
})


router.afterEach(()=>{
    NProgress.done()/**请求进度条-结束 */
})



//3 将这个代码在main.ts中引入